.flow-node {
  position: relative;
  width: 300px;
  //height: 64px;

  //min-height: 32px;
  padding: 0 20px;
  margin-bottom: 100px;
  display: inline-block;

  &.start {
    margin-bottom: 10px;
  }
  .flow-node-container {
    box-sizing: border-box;
    text-align: left;
    position: relative;
    width: 260px;
    padding: 20px;
    font-size: 20px;
    line-height: 24px;
    background: white;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);
    border: 1px solid transparent;
    z-index: 2;
    transition: box-shadow .3s;
    &:hover {
      box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.20);
    }
    &.selected {
      border: 1px solid #4A90E2;
      box-shadow: 0 4px 8px 0 #4A90E2;
    }
    &.delete {
      border: 1px solid #FF3737;
      box-shadow: 0 4px 8px 0 #FF3737;
    }
    &.waring-border{
      border: 1px solid #FF3737!important;
      box-shadow: 0 4px 8px 0 #FF3737!important;
    }
    .node-title {
      padding-left: 32px;
      position: relative;
      overflow: hidden;
      text-overflow: ellipsis;
      -webkit-box-orient: vertical;
      .title-icon {
        position: absolute;
        text-align: center;
        line-height: 24px;
        height: 24px;
        width: 24px;
        border-radius: 50%;
        color: white;
        top: 0;
        left: 0;
        font-size: 16px;
      }
    }
    .node-content {
      font-size: 16px;
      //position: relative;
      margin-top: 10px;
      .approve-content{
        .approver-type{
          font-size: 12px;
          color: #5F5F5F;
          overflow: hidden;
          text-overflow: ellipsis;
          -webkit-line-clamp: 1;
          display: -webkit-box;
          -webkit-box-orient: vertical;
        }
        .approvers{
          font-size: 16px;
          color: #000000;
          overflow: hidden;
          text-overflow: ellipsis;
          -webkit-line-clamp: 1;
          display: -webkit-box;
          -webkit-box-orient: vertical;
        }
      }
      &.warning{
        background: #FFF3F3;
        color: #FF7875;
        font-size: 12px;
        text-align: center;
        padding:20px 0;
      }
      &.default{
        padding: 10px;
        background: #F2F7FF;
      }
      &.known{
        padding: 10px;
        background: #FFFBF2;
      }
    }
    .ai-content{
      margin-top: 10px;
      color:#fff;
      font-size: 12px;
      padding: 5px;
      text-align: center;
      &.reject{
        background: #F19494;
      }
      &.pass{
        background: #A5C77E;
      }
    }
    .close-icon {
      position: absolute;
      color: #CFCFCF;
      font-size: 10px;
      right: 12px;
      top: 12px;
      font-weight: bold;
      cursor: pointer;
      &:hover{
       color:  #FF3737;
      }
    }
    .copy-btn-group {
      position: absolute;
      right: 25px;
      top: 7px;
      z-index: 10;
      font-size: 10px;
      .copy-btn {
        cursor: pointer;
        color: #CFCFCF;
        width: 10px;
        margin-right: 5px;
        &:hover{
          color: #4A90E2;
        }
      }
    }
    .node-selected {
      position: absolute;
      background: #fff;
      border: 2px solid #00A854;
      border-radius: 50%;
      top: 16px;
      right: 16px;
      width: 24px;
      height: 24px;
      text-align: center;
    }
    .node-current{
      position: absolute;
      color: $default-color;
      border: 2px solid $default-color;
      background: #fff;
      border-radius: 3px;
      font-size: 12px;
      padding: 0 2px;
      top: 16px;
      right: 16px;
      text-align: center;
    }
    .selected-icon{
      color: #00A854;
      font-weight: 600;
    }
    .waring-circle{
      position: absolute;
      top: -4px;
      color: #FF3737;
      right: -6px;
      font-size: 12px;
    }
    .left-level-icon {
      position: absolute;
      font-size: 10px;
      left: -20px;
      cursor: pointer;
      top: 50%;
      transform: translateY(-50%);
      color:#D7D7D7;
      background: #fff;
      border-radius: 50%;
      padding: 1px;
      &:hover{
        color: #4A90E2;
        border: 1px solid #4A90E2;
      }
    }
    .right-level-icon {
      position: absolute;
      font-size: 10px;
      right: -20px;
      cursor: pointer;
      top: 50%;
      transform: translateY(-50%);
      color:#D7D7D7;
      background: #fff;
      border-radius: 50%;
      padding: 1px;
      &:hover{
        color: #4A90E2;
        border: 1px solid #4A90E2;
      }
    }
  }
  .node-addon {
    position: absolute;
    left: calc(50% - 30px);
    bottom: -50px;
    width: 60px;
    height: 62px;
    text-align: center;
    z-index: 2;
    .plus-button {
      position: absolute;
      top: 0;
      left: 20px;
      width: 20px;
      border-radius: 10px;
      background: #4A90E2;
      line-height: 20px;
      cursor: pointer;
      transition: box-shadow .3s;
      font-size: 10px;
      &:hover {
        box-shadow: 0 0 0 5px rgba(74, 144, 226, 0.4);
      }
      i {
        color: white;
      }
    }
    .delete-button {
      position: absolute;
      top: 0;
      left: 20px;
      width: 20px;
      border-radius: 10px;
      background: #F19494;
      line-height: 20px;
      cursor: pointer;
      transition: box-shadow .3s;
      font-size: 10px;
      &:hover {
        box-shadow: 0 0 0 5px rgba(241, 148, 148, 0.4);
      }
      i {
        color: white;
      }
    }
    .condition-button {
      position: absolute;
      bottom: 0;
      left: 0;
      background: #F8F8F8;
      border: 1px dashed #D7D7D7;
      font-size: 10px;
      color: #9B9B9B;
      line-height: 24px;
      width: 60px;
      height: 24px;
      border-radius: 12px;
      cursor: pointer;
      &.selected {
        border-color: #4A90E2;
        color: #4A90E2;
      }
    }
  }
  &.credit {
    &.flow-node-container:hover {
      border: 1px solid #A47422;
      box-shadow: 0 4px 8px 0 #CF9C43;
    }
  }
  &.end{
    .flow-node-container {
      background: #fff;
      width: 100px;
      height: 40px;
      text-align: center;
      font-size: 16px;
      font-weight: bold;
      line-height: 40px;
      margin: 0 80px 124px;
      padding: 0;
      .node-title {
        padding-left: 0;
        .title-icon {
          position: absolute;
          line-height: 16px;
          background: transparent;
          color: #FFC5C4;
          left: 6px;
          top: 12px;
        }
      }
    }
    .node-addon {
      top: 30px;
    }
  }
  &.start {
    .flow-node-container {
      background: #797979;
      width: 100px;
      height: 40px;
      border-radius: 20px;
      text-align: center;
      color: white;
      font-size: 12px;
      line-height: 40px;
      margin: 0 80px 124px;
      padding: 0;
      .node-title {
        padding-left: 0;
        .title-icon {
          position: absolute;
          line-height: 16px;
          height: 16px;
          background: transparent;
          left: 12px;
          top: 12px;
          font-size: 14px;
        }
      }
    }
    .node-addon {
      top: 30px;
    }
  }
  &.condition .flow-node-container {
    padding: 14px 20px;
    background: #797979;
    &.selected {
      border: 1px solid #FFAC08;
      box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.20);
    }
    &.delete {
      border: 1px solid #FF3737;
      box-shadow: 0 4px 8px 0 #FF3737;
    }
    .condition {
      font-size: 12px;
      line-height: 13px;
      .condition-title {
        color: #FFFFFF;
        height: 12px;
        width: 100%;
        .priority {
          font-size: 12px;
          color: #FF9317;
          padding-left: 5px;
        }
      }
      .condition-content {
        color: #D7D7D7;
        height: 13px;
        width: 100%;
        margin-top: 12px;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-line-clamp: 1;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        font-size: 13px;
      }
    }
  }
  &.open {
    margin-bottom: 54px;
  }
  &.open, &.close {
    height: 0;
    .flow-node-container {
      background: transparent;
      height: 0;
      padding: 0 20px;
      box-shadow: none;
    }
    .node-addon {
      top: calc(100% - 12px);
    }
  }
}
